package com.my.thread;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author Huangjin
 * @version 1.0
 * describe:
 * @date 2023/2/17 19:44
 */
public class PeopleB extends Thread {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    @Override
    public void run() { //被调用start方法后，就会执行run方法里的代码
        System.out.println(this.getName() + " 我准备好回答了。");
        //使用死循环写法，让线程PeopleB永远不会自动停止运行
        while (true) {
            //有人提问，且没有人回答的情况下，就回答问题
            if (Language.answer == null) {
                //根据问题得到答案
                String an = answerQuestion(Language.question);
                //设置答案
                Language.setAnswer(an);
                //打印答案
                System.out.println(this.getName() + "：" + an);
                //回答完毕后，把问题设置为空。
                Language.question = null;
            } else {
                System.out.println("请你继续提问...");
            }

                //随机休眠0-15秒，模拟用户B的思考时间
            try {
                Thread.sleep(1000 * Language.random.nextInt(15));
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    }

    /**根据问题得到答案*/
    private String answerQuestion(String question) {
        if (question == null) {
            return "请开始提问...";
        }
        //默认回答语句
        String an = "这个问题太难了，答不上来。";
        switch (question) {
            case "你叫什么名字？":
                an = this.getName();
                break;
            case "现在几点了？":
                an = format.format(new Date());
                break;
            case "你早饭吃的什么？":
                an = "豆浆油条。";
                break;
            case "你的身高多少？":
                an = "身高1米85。";
                break;
            case "你最喜欢的Csdn博主是谁？":
                an = "青00（一起学Java）";
                break;
            default:

                break;
        }
        return an;
    }
}